<?php
/**
 * 初始化文件 - 加载所有必需的配置和函数
 */

// 错误报告设置（生产环境应关闭）
ini_set('display_errors', 1);
error_reporting(E_ALL);

// 定义网站根目录（如果未定义）
if (!defined('ROOT_PATH')) {
    define('ROOT_PATH', dirname(__DIR__));
}

// 加载配置文件
require_once ROOT_PATH . '/config/config.php';

// 启动会话
session_start();

// 工具函数

/**
 * 安全输出 HTML 内容
 */
function html_escape($text) {
    return htmlspecialchars($text, ENT_QUOTES, 'UTF-8');
}

/**
 * 重定向到指定页面
 */
function redirect($page = '') {
    $url = get_config('base_url') . $page;
    header("Location: $url");
    exit;
}

/**
 * 检查用户是否已登录
 */
function is_logged_in() {
    return isset($_SESSION['user_id']) && !empty($_SESSION['user_id']);
}

/**
 * 获取当前页面名称
 */
function get_current_page() {
    $uri = $_SERVER['REQUEST_URI'];
    $path = parse_url($uri, PHP_URL_PATH);
    
    // 移除前导斜杠
    $path = ltrim($path, '/');
    
    // 处理空路径
    if ($path === '') {
        return 'index';
    }
    
    // 分割路径部分
    $segments = explode('/', $path);
    $first_segment = $segments[0];
    
    // 移除.php扩展名（如果存在）
    if (substr($first_segment, -4) === '.php') {
        $first_segment = substr($first_segment, 0, -4);
    }
    
    return $first_segment ?: 'index';
}

/**
 * 设置页面标题
 */
function set_page_title($title = '') {
    global $page_title;
    
    if (empty($title)) {
        $title = get_config('site_name');
    } else {
        $title = $title . ' - ' . get_config('site_name');
    }
    
    $page_title = $title;
}

/**
 * 获取页面标题
 */
function get_page_title() {
    global $page_title;
    
    if (empty($page_title)) {
        $page_title = get_config('site_name');
    }
    
    return $page_title;
}

/**
 * 加载页面内容
 */
function get_page_content($page_name) {
    $file_path = ROOT_PATH . '/pages/' . $page_name . '.php';
    
    if (file_exists($file_path)) {
        ob_start();
        include $file_path;
        return ob_get_clean();
    }
    
    return "页面 '{$page_name}' 不存在";
}

// 设置默认页面标题
set_page_title(); 